{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/victor/.local/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use \"pip install psycopg2-binary\" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.\n",
      "  \"\"\")\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import math\n",
    "import json\n",
    "import datetime\n",
    "from tqdm import tqdm\n",
    "from matplotlib import mlab\n",
    "from scipy import stats\n",
    "import psycopg2 as psql\n",
    "from psycopg2.extras import RealDictCursor\n",
    "\n",
    "import seaborn as sns\n",
    "sns.set(color_codes=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    conn = psql.connect(\"dbname='thesisdata' user='postgres' host='localhost' password='postgres'\")\n",
    "except Exception as e:\n",
    "    print(\"Unable to connect to the database.\")\n",
    "    print(e)\n",
    "\n",
    "max_inserts = 100\n",
    "fetch_batch_size = max_inserts\n",
    "cnt = 0\n",
    "\n",
    "cur_read = conn.cursor(cursor_factory=RealDictCursor)\n",
    "cur_read.execute(\"SELECT * FROM public.adsb_flights limit 4000;\")\n",
    "batch = cur_read.fetchall()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "ep_list = []\n",
    "for b in batch:\n",
    "    ep_list.append(b['start_ep'])\n",
    "    \n",
    "sorted(list(set([datetime.datetime.fromtimestamp(t).strftime('%D') for t in ep_list])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0%|          | 0/4000 [00:00<?, ?it/s]/home/victor/.local/lib/python3.6/site-packages/ipykernel_launcher.py:39: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "/home/victor/.local/lib/python3.6/site-packages/ipykernel_launcher.py:55: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "100%|██████████| 4000/4000 [18:55<00:00,  3.03it/s]\n"
     ]
    }
   ],
   "source": [
    "h_bound = 30000\n",
    "la_times = [300,600,900,1200]\n",
    "alt_dct_h  = {}\n",
    "spd_dct_h = {}\n",
    "hdg_dct_h = {}\n",
    "alt_dct_l = {}\n",
    "spd_dct_l = {}\n",
    "hdg_dct_l = {}\n",
    "\n",
    "for la in la_times:\n",
    "    alt_dct_h[str(la)] = {}\n",
    "    hdg_dct_h[str(la)] = {}\n",
    "    spd_dct_h[str(la)] = {}\n",
    "    \n",
    "    alt_dct_h[str(la)]['vals'] = []\n",
    "    hdg_dct_h[str(la)]['vals'] = []\n",
    "    spd_dct_h[str(la)]['vals'] = []\n",
    "    \n",
    "    alt_dct_l[str(la)] = {}\n",
    "    hdg_dct_l[str(la)] = {}\n",
    "    spd_dct_l[str(la)] = {}\n",
    "    \n",
    "    alt_dct_l[str(la)]['vals'] = []\n",
    "    hdg_dct_l[str(la)]['vals'] = []\n",
    "    spd_dct_l[str(la)]['vals'] = []\n",
    "\n",
    "blen = len(batch)\n",
    "for i,f in enumerate(tqdm(batch)):\n",
    "    \n",
    "#     print('Flight %d/%d' % (i,blen))\n",
    "    fdf = pd.DataFrame.from_dict(f)\n",
    "\n",
    "    #filters\n",
    "    fdf_h = fdf[(fdf['alt'] >= h_bound)]\n",
    "    fdf_l = fdf[(fdf['alt'] < h_bound)]\n",
    "    \n",
    "    if len(fdf_h) != 0:\n",
    "        \n",
    "        fdf_h['time_el'] = fdf_h['ts'] - min(fdf_h['ts'].values)\n",
    "\n",
    "        if max(fdf_h['time_el'].values) >= 1200:\n",
    "\n",
    "            for i,la in enumerate(la_times):\n",
    "                if i==0:\n",
    "                    alt_dct_h[str(la)]['vals'].extend(fdf_h['alt'][(fdf_h['time_el'] <= la) & (fdf_h['time_el'] >= 0)].values - fdf_h['alt'].iloc[0])\n",
    "                    spd_dct_h[str(la)]['vals'].extend(fdf_h['spd'][(fdf_h['time_el'] <= la) & (fdf_h['time_el'] >= 0)].values - fdf_h['spd'].iloc[0])\n",
    "                    hdg_dct_h[str(la)]['vals'].extend(fdf_h['hdg'][(fdf_h['time_el'] <= la) & (fdf_h['time_el'] >= 0)].values - fdf_h['hdg'].iloc[0])\n",
    "                else:\n",
    "                    alt_dct_h[str(la)]['vals'].extend(fdf_h['alt'][(fdf_h['time_el'] <= la) & (fdf_h['time_el'] >= la_times[i-1])].values - fdf_h['alt'].iloc[0])\n",
    "                    spd_dct_h[str(la)]['vals'].extend(fdf_h['spd'][(fdf_h['time_el'] <= la) & (fdf_h['time_el'] >= la_times[i-1])].values - fdf_h['spd'].iloc[0])\n",
    "                    hdg_dct_h[str(la)]['vals'].extend(fdf_h['hdg'][(fdf_h['time_el'] <= la) & (fdf_h['time_el'] >= la_times[i-1])].values - fdf_h['hdg'].iloc[0])\n",
    "\n",
    "    \n",
    "    if len(fdf_l) != 0:\n",
    "        fdf_l['time_el'] = fdf_l['ts'] - min(fdf_l['ts'].values)\n",
    "        if max(fdf_l['time_el'].values) >= 1200:\n",
    "\n",
    "            for i,la in enumerate(la_times):\n",
    "                if i==0:\n",
    "                    alt_dct_l[str(la)]['vals'].extend(fdf_l['alt'][(fdf_l['time_el'] <= la) & (fdf_l['time_el'] >= 0)].values - fdf_l['alt'].iloc[0])\n",
    "                    spd_dct_l[str(la)]['vals'].extend(fdf_l['spd'][(fdf_l['time_el'] <= la) & (fdf_l['time_el'] >= 0)].values - fdf_l['spd'].iloc[0])\n",
    "                    hdg_dct_l[str(la)]['vals'].extend(fdf_l['hdg'][(fdf_l['time_el'] <= la) & (fdf_l['time_el'] >= 0)].values - fdf_l['hdg'].iloc[0])\n",
    "                else:\n",
    "                    alt_dct_l[str(la)]['vals'].extend(fdf_l['alt'][(fdf_l['time_el'] <= la) & (fdf_l['time_el'] >= la_times[i-1])].values - fdf_l['alt'].iloc[0])\n",
    "                    spd_dct_l[str(la)]['vals'].extend(fdf_l['spd'][(fdf_l['time_el'] <= la) & (fdf_l['time_el'] >= la_times[i-1])].values - fdf_l['spd'].iloc[0])\n",
    "                    hdg_dct_l[str(la)]['vals'].extend(fdf_l['hdg'][(fdf_l['time_el'] <= la) & (fdf_l['time_el'] >= la_times[i-1])].values - fdf_l['hdg'].iloc[0])\n",
    "\n",
    "\n",
    "for la in la_times:\n",
    "    alt_dct_h[str(la)]['var'] = np.nanstd(alt_dct_h[str(la)]['vals'])\n",
    "    alt_dct_h[str(la)]['mean'] = np.nanmean(alt_dct_h[str(la)]['vals'])\n",
    "    alt_dct_h[str(la)]['kurt'] = stats.kurtosis(alt_dct_h[str(la)]['vals'])\n",
    "    alt_dct_h[str(la)]['skew'] = stats.skew(alt_dct_h[str(la)]['vals'])\n",
    "    \n",
    "    spd_dct_h[str(la)]['var'] = np.nanstd(spd_dct_h[str(la)]['vals'])\n",
    "    spd_dct_h[str(la)]['mean'] = np.nanmean(spd_dct_h[str(la)]['vals'])\n",
    "    spd_dct_h[str(la)]['kurt'] = stats.kurtosis(spd_dct_h[str(la)]['vals'])\n",
    "    spd_dct_h[str(la)]['skew'] = stats.skew(spd_dct_h[str(la)]['vals'])\n",
    "    \n",
    "    hdg_dct_h[str(la)]['var'] = np.nanstd(hdg_dct_h[str(la)]['vals'])\n",
    "    hdg_dct_h[str(la)]['mean'] = np.nanmean(hdg_dct_h[str(la)]['vals'])\n",
    "    hdg_dct_h[str(la)]['kurt'] = stats.kurtosis(hdg_dct_h[str(la)]['vals'])\n",
    "    hdg_dct_h[str(la)]['skew'] = stats.skew(hdg_dct_h[str(la)]['vals'])\n",
    "    \n",
    "    alt_dct_l[str(la)]['var'] = np.nanstd(alt_dct_l[str(la)]['vals'])\n",
    "    alt_dct_l[str(la)]['mean'] = np.nanmean(alt_dct_l[str(la)]['vals'])\n",
    "    alt_dct_l[str(la)]['kurt'] = stats.kurtosis(alt_dct_l[str(la)]['vals'])\n",
    "    alt_dct_l[str(la)]['skew'] = stats.skew(alt_dct_l[str(la)]['vals'])\n",
    "    \n",
    "    spd_dct_l[str(la)]['var'] = np.nanstd(spd_dct_l[str(la)]['vals'])\n",
    "    spd_dct_l[str(la)]['mean'] = np.nanmean(spd_dct_l[str(la)]['vals'])\n",
    "    spd_dct_l[str(la)]['kurt'] = stats.kurtosis(spd_dct_l[str(la)]['vals'])\n",
    "    spd_dct_l[str(la)]['skew'] = stats.skew(spd_dct_l[str(la)]['vals'])\n",
    "    \n",
    "    hdg_dct_l[str(la)]['var'] = np.nanstd(hdg_dct_l[str(la)]['vals'])\n",
    "    hdg_dct_l[str(la)]['mean'] = np.nanmean(hdg_dct_l[str(la)]['vals'])\n",
    "    hdg_dct_l[str(la)]['kurt'] = stats.kurtosis(hdg_dct_l[str(la)]['vals'])\n",
    "    hdg_dct_l[str(la)]['skew'] = stats.skew(hdg_dct_l[str(la)]['vals'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import mlab\n",
    "fig, ax = plt.subplots(figsize=(6, 4))\n",
    "range_lim = np.inf\n",
    "dct = spd_dct_h\n",
    "\n",
    "for i,la in enumerate(la_times[::-1]):\n",
    "\n",
    "    la_lst = la_times[::-1] + [0]\n",
    "    xtst = [x for x in dct[str(la)]['vals'] if ~np.isnan(x) and abs(x) < range_lim][:330000]\n",
    "#     print(len(xtst))\n",
    "    n_bins = 100\n",
    "\n",
    "    # plot the cumulative histogram\n",
    "    n, bins, patches = ax.hist(xtst, n_bins, normed=1, histtype='stepfilled',\n",
    "                               cumulative=False, label='Airspeed dev. distr. at %s - %s seconds' % (la_lst[i+1], la), alpha=0.5\n",
    "                               \n",
    "                            \n",
    "                              )\n",
    "\n",
    "plt.legend()#prop={'size': 10}\n",
    "plt.xlim(-150,150)\n",
    "# plt.ylim(0,100000)\n",
    "plt.xlabel('Airspeed deviation (knots)')\n",
    "plt.ylabel('Probability Density')\n",
    "plt.title('Airspeed deviation distributions for different \\n look-ahead time horizons for flights above FL300')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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Ro0axZgxY0hPT2ft2rWeMpvNxuOPP05ycjKpqals2bLFp7JAmDlzJqmpqYwePZoJEyZw4MABT1l+fj733nsvKSkpjB49mv379/tUFggrV65k1KhR3HjjjSxatMirrCnVZ218mZg1WObMmcPQoUPp0KEDP/zwg08xNkb8RUVFTJ06lZSUFEaNGsXDDz9MYaF7frN9+/YxevRoUlJSuPfeeykoODcfXn1lgfTggw8yevRoxowZw6RJkzh8+DDQ9OrV75QIqpKSEs/j06dPq+7duyur1aqUUmru3Lnq2WefVUopdfz4cXXzzTersrKyBssCYfPmzcrhcHge33bbbZ6y6dOnq3nz5imllNq9e7dKTk5Wuq43WBYI33//vTp69Kh66qmn1AcffOBV1pTqszZ33323WrFihVJKqRUrVqi77747qMevbvfu3So7O1vdeuut6vvvv/dsry/Gxoi/qKhI7dq1y/N89uzZ6plnnlGapqlhw4ap3bt3K6WUmjdvnpo+fbpSStVbFmjV/983btyoxowZo5RqevXqb5JYGtFPP/2kevTooQoLC5VSSo0cOVJ99913nvJp06aptWvXNlgWaIWFheqmm25SmqYppZTq1q2bKigo8JTffvvtav/+/Q2WBdLTTz9dI7E01fpUSqn8/HzVs2dP5XK5lFJKuVwu1bNnT6+6awzVE0t9MTaV+D///HM1ZcoUtX//fnX77bd7thcUFKhu3boppVS9ZcH02WefqYyMjJCo11+q6cyzfBlZvHgx//znPzl9+jSvvvoqLVu2BCA7O5u2bdt69ktKSuL06dMNlgXahx9+yJAhQzAajRQVFaGU8po1oSqW9u3b11lWNXloMDXV+gT3lEStW7fGZHIvJWAymUhISCAnJ6fGjBSNpb4YlVKNHr+u6yxevJihQ4eSk5NDmzZtPGVxcXHouo7Vaq23LLaexb/85dlnn2XHjh0opViwYEGTr1d/kMTiZxkZGV5zmlW3c+dOTCYTEydOZOLEiXz//ff84Q9/oH///p7k0pTiBFizZg2rVq3iww+Du95IFV/jFJefl156iaioKO666y42btzY8AsaySuvvALAihUreO2113jssccaOaLAk8TiZ5999pnP+3bo0IGEhAS+/vprUlJSaNOmDadOnfJ8M8nJyaFv374A9ZYFKs6NGzfyxhtvsHDhQq64wr3uR1UCrL6WTtWEoPWVBTLOugSzPi9U9YlZTSZTnROzNqb6YlRKNWr8c+bM4eeff+Yf//gHRqOxxiS1hYWFGI1GYmNj6y0LpjFjxvD888+TmJjYZOvVX2RUWJAdO3bM8/jkyZMcPnyY6667DnBPtLl06VIATpw4wYEDBxg0aFCDZYGwZcsW/vznP/POO+/UWKUzNTWVJUvca6nv2bOHyspKOnXq1GBZsDWl+jyfrxOzNqb6YmzM+F9//XUOHjzIvHnzsFjci3N16tSJyspK9uzZA8CSJUtITU1tsCyQysvLycnJ8TzfvHkzLVq0aLL16k8yV1iQPfbYYxw7doywsDBMJhP3338/I0eOBKCiooLp06dz+PBhjEYjTz31FMOGDWuwLBD69euH2Wz2+oNeuHAhLVu25MyZMzz11FNkZ2cTHh7OzJkz6dGjB0C9ZYGwevVqXnvtNUpKSjCbzURGRvLuu+9y3XXXNan6rE1dE7M2hpdffpkNGzaQn59Py5YtiY2NZc2aNfXG2BjxHz16lLS0NK6++moiIiIAaNeuHfPmzePbb7/lhRdewG6307ZtW/7yl794rrTrKwuU/Px8HnzwQWw2G0ajkRYtWvD0009z0003Nbl69TdJLEIIIfxKmsKEEEL4lSQWIYQQfiWJRQghhF9JYhFCCOFXkliEEEL4lSQW0eTdfffdLFu2DIB//etf3HvvvUE57vTp03njjTd+8fvcf//9F32jZ3Z2Nt27d0fTtF8cR21+//vfs2nTplrLsrKy6NChAy6XKyDHDoTZs2fz0UcfNXYYlz1JLOKCDR06lJ07d3pt+/TTT5k4cWLAjz169GjefffdgB/HnxYsWEBGRoZP+55ft23atGHv3r0BmbrmyJEjHDlyhNtuu83v791Y7r33Xv7v//4Ph8PR2KFc1iSxCHGZWrp0KaNGjcJgMAT1uEopdF0PyHsnJCRwzTXXsHnz5oC8v/CNJBYRELm5uTzyyCP069ePoUOH8v7773vKvvvuO8aPH0+vXr0YOHAgs2bN8vqGuWPHDlJTU+nZsyezZs2i+j28518ZdejQgcWLFzN8+HB69erFzJkzPftrmsbs2bPp27cvQ4cOZdGiRfU27Rw6dIiMjAy6d+/O448/jt1u9yrfsmUL6enp9OrViwkTJnDkyBEA3n77bR599FGvfV9++WVefvllwLspLzMzk8mTJ9O3b1/69u3Lk08+SUlJCYBnxoIHHniA7t27M3/+/BrNUbm5uTzwwAP06dOH5ORkPv74Y88x586dy2OPPcYf//hHunfvzu233+61QNv5tm3bRu/evT3PNU1jzpw59O3bl9tuu42tW7d67V9aWsqMGTMYOHAggwYN4o033vA00TVU13fffTdvvPEGEyZMoGvXrpw8ebLe9wNYvnw5I0aMoHfv3tx3332cOnUKcCemV199lf79+9OjRw9GjRrltThZnz59asQugqwRpuoXIe7WW29VO3bs8Nr2ySefqAkTJiil3AsrZWRkqLlz5yq73a4yMzPV0KFD1bZt25RSSh04cEDt3btXOZ1OdfLkSZWamqree+89pdS5tTLWrVunHA6Heu+991THjh3Vxx9/XOM4Sil1/fXXq2nTpqni4mJ16tQp1bdvX7V161allFIfffSRGjFihMrJyVFWq1VNmTJFXX/99crpdNb4THa7XQ0ZMkS99957yuFwqHXr1qkbb7xRvf7660oppf773/+qfv36qX379imXy6U+/fRTdeuttyq73a6ysrJUly5dVGlpqVLKvYbGgAED1N69e5VSSt11112e+E+cOKG+/PJLZbfbVUFBgZo0aZJ6+eWX66zbkydPesU8adIk9cILL6jKykp16NAh1bdvX7Vz506llFJ/+9vfVKdOndQXX3yhXC6X+t///V81duzYWn+H5eXl6vrrr/da5+Ojjz5SKSkpKjs7WxUVFam77rrL69gPPvig+tOf/qTKy8tVfn6++s1vfqMWL17sU13fddddavDgweqHH35QTqdTORyOet9v48aNatiwYerYsWPK6XSqefPmqfHjxyullNq2bZvKyMhQxcXFStd1dezYMZWbm+v5HOvXr/csqCUah1yxiIvy0EMP0atXL8/PzJkzPWUHDhygsLCQhx9+GIvFQvv27Rk3bpxnGeZOnTrRrVs3wsLCaNeuHePHj2f37t2A+1v0r3/9a1JTUzGbzUyZMqXBOZ2mTp1K8+bNadOmDX379vVcSaxbt47JkyeTmJhIixYtmDZtWp3vsX//fpxOJ1OmTMFsNpOamkrnzp095UuXLmX8+PF07doVk8lERkYGZrOZffv20bZtW2688UZPJ/iuXbuIiIigW7duNY5z1VVXMWDAACwWC3Fxcfz2t7/1fPaG5OTk8O233/KHP/yB8PBwOnbsyNixY1m5cqVnn549ezJ48GBMJhPp6emeujhfaWkpANHR0Z5t69atY8qUKSQlJREbG8vvfvc7T1l+fj5bt25lxowZREVFER8fzz333MOaNWs8r22orjMyMvj1r39NWFgYxcXF9b7fkiVLmDZtGtdeey1hYWE88MADHD58mFOnThEWFkZ5eTk//fQTSimuvfZaEhISPMeJjo72XAWKxiHT5ouLMm/ePG6++WbP808//dTT3HPq1Cny8vLo1auXp1zTNM/z48ePM3v2bA4ePIjNZkPTNG666SYA8vLyvKbZNxgMDU4Z3qpVK8/jyMhIysvLPe9V/bX1Td+fl5dH69atvfobqi8OlZ2dzYoVK1i0aJFnm9PpJC8vD4C0tDRWr17NmDFjWL16NWlpabUeJz8/n1deeYU9e/ZQXl6OUormzZvX+/mqx9iiRQuaNWvmFePBgwc9z6sn4YiICOx2Oy6Xi7Aw73/1mJgYwD0Db3h4uOf9q9fX+Z/f5XIxcOBAzzZd1z37+1LX1csber/s7GxeffVV5syZ4ylXZ6eU79+/P3feeSezZs3i1KlTDB8+nKefftpTL+Xl5T7XqQgMSSzC75KSkmjXrh0bNmyotfzFF1/kxhtv5K9//SvNmjVj4cKFrF+/HnAnieorOSqlvKYevxDnv1d9K0S2atWK3NxclFKe5JKdnU379u09n+mBBx7g//2//1fr60eMGMGcOXM4ffo0Gzdu9EzJf77XX38dg8HAqlWriI2NZdOmTcyaNcunz5OQkEBxcTFlZWWek2jVaoQXKioqiiuvvJLjx497ZrBu1aqVV11Xf5yYmIjFYmHXrl01klTVaxuq6+pJu6H3q6rv0aNH1xr/5MmTmTx5MgUFBTz++OMsWLCAxx9/HHDPDnzDDTc0VAUigKQpTPhdly5diI6O5u2336ayshJN0/jhhx/47rvvAPc3yujoaKKjo/nxxx9ZvHix57WDBw/m6NGjbNiwAZfLxfvvv09+fv5FxTFixAjef/99cnNzKSkpYf78+XXuW9U09/777+N0OtmwYYNXx/fYsWNZsmQJ+/fvRylFRUUFX3zxBWVlZYB7uds+ffrwzDPP0K5dO6699tpaj1NeXk5UVBQxMTHk5uayYMECr/IrrriCkydP1vrapKQkunfvzuuvv47dbufIkSMsX768zpNvQwYPHuzVDDdixAg++OADTp8+TXFxMW+//banLCEhgQEDBjB79mzKysrQdZ3MzEy+/vprz2t9rWtf3m/ChAm8/fbbHD16FHA33a1btw5wD/6oarqMjIzEYrFgNJ47le3evTuoa+uImiSxCL8zmUz84x//8Nwj0a9fP5577jnPSfjpp59m9erV9OjRgz/96U+e9WjAfYJ+8803+etf/0rfvn35+eefL3o9l3HjxjFgwABGjx7NmDFjGDx4sGcdnPNZLBbmzp3LZ599Rp8+fVi7di3Jycme8s6dO/PSSy8xa9YsevfuzfDhw/n000+93iMtLY2dO3fW2QwG8PDDD3Po0CF69erFtGnTGD58uFf5tGnTeOutt+jVqxfvvPNOjde//vrrnDp1ikGDBvHwww/zyCOPeDVJXohx48axatUqzyi6cePGMXDgQNLT08nIyKgR22uvvYbT6WTkyJH07t2bRx99lDNnznhe62td+/J+ycnJ3H///fz+97+nR48epKWlsW3bNsCdnJ977jn69OnDrbfeSmxsLPfddx/gbpI7duxY0NfWEd5kPRZx2di6dSsvvvgiW7ZsaexQmownn3ySESNG+P1E3Fh1PXv2bNq3b8+dd94Z1OMKb5JYxCWrsrKSr776igEDBlBQUMAjjzxC165defbZZxs7tEuO1LWoThKLuGTZbDbuuusufvrpJyIiIhgyZAjPPvus16gq4R9S16I6SSxCCCH8SjrvhRBC+JUkFiGEEH4liUUIIYRfSWIRQgjhV5JYhBBC+JUkFiGEEH71/wHnA7MQHWdooQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(6,4))\n",
    "range_lim = np.inf\n",
    "dct = hdg_dct_l\n",
    "\n",
    "for i,la in enumerate(la_times[::-1]):\n",
    "\n",
    "    la_lst = la_times[::-1] + [0]\n",
    "    xtst = [x for x in dct[str(la)]['vals'] if ~np.isnan(x) and abs(x) < range_lim][:330000]\n",
    "    n_bins = 200\n",
    "\n",
    "    # plot the cumulative histogram\n",
    "    n, bins, patches = ax.hist(xtst, n_bins, normed=1, histtype='stepfilled',\n",
    "                               cumulative=False, label='Heading dev. distr. at %s - %s seconds' % (la_lst[i+1], la), alpha=0.6)\n",
    "\n",
    "plt.legend()\n",
    "# plt.xlim(-150,200)\n",
    "plt.ylim(0,0.05)\n",
    "plt.xlabel('Heading deviation (degrees)')\n",
    "plt.ylabel('Probability Density')\n",
    "plt.title('Heading deviation distributions for different \\n look-ahead time horizons for flights below FL300')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n",
      "/home/victor/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import mlab\n",
    "fig, ax = plt.subplots(figsize=(6, 4))\n",
    "range_lim = np.inf\n",
    "dct = alt_dct_h\n",
    "\n",
    "for i,la in enumerate(la_times[::-1]):\n",
    "\n",
    "    la_lst = la_times[::-1] + [0]\n",
    "    xtst = [x for x in dct[str(la)]['vals'] if ~np.isnan(x) and abs(x) < range_lim][:330000]\n",
    "    n_bins = 100\n",
    "\n",
    "    # plot the cumulative histogram\n",
    "    n, bins, patches = ax.hist(xtst, n_bins, normed=1, histtype='stepfilled',\n",
    "                               cumulative=False, label='Altitude dev. distr. at %s - %s seconds' % (la_lst[i+1], la), alpha=0.6)\n",
    "\n",
    "plt.legend()\n",
    "plt.xlim(-5000,10000)\n",
    "# plt.ylim(-5000,10000)\n",
    "plt.xlabel('Altitude deviation (ft.)')\n",
    "plt.ylabel('Probability Density')\n",
    "plt.title('Distribution of altitude deviation for different \\n look-ahead time horizons for flights above FL300')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "High Altitude\n",
      "\\multicolumn{1}{|l|}{Mean} & 2342.2 & 3467.6 & 2840.3 & 1908.3 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Variance} & 2152.0 & 3274.1 & 3356.5 & 3263.8 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Kurtosis} & -0.7 & -1.4 & -1.1 & -0.1 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Skewness} & 0.5 & 0.2 & 0.6 & 0.7 \\\\ \\hline\n",
      "Low Altitude\n",
      "\\multicolumn{1}{|l|}{Mean} & 462.9 & -421.6 & -7647.2 & -14592.2 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Variance} & 5585.2 & 13193.6 & 16348.0 & 16017.3 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Kurtosis} & -0.4 & -1.4 & -0.7 & 0.4 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Skewness} & 0.4 & 0.4 & 0.9 & 1.3 \\\\ \\hline\n"
     ]
    }
   ],
   "source": [
    "print('High Altitude')\n",
    "\n",
    "for k in [('mean', 'Mean'),('var','Variance'),('kurt','Kurtosis'),('skew','Skewness')]:\n",
    "#     print(k)\n",
    "    val_str = '\\multicolumn{1}{|l|}{%s}' % k[1]\n",
    "    for v in alt_dct_h.keys():\n",
    "        val_str = val_str + ' & %.1f' % (round(alt_dct_h[v][k[0]],1))\n",
    "    val_str = val_str + ' \\\\\\ \\hline'\n",
    "    print(val_str)\n",
    "    \n",
    "\n",
    "print('Low Altitude')\n",
    "\n",
    "for k in [('mean', 'Mean'),('var','Variance'),('kurt','Kurtosis'),('skew','Skewness')]:\n",
    "#     print(k)\n",
    "    val_str = '\\multicolumn{1}{|l|}{%s}' % k[1]\n",
    "    for v in alt_dct_l.keys():\n",
    "        val_str = val_str + ' & %.1f' % (round(alt_dct_l[v][k[0]],1))\n",
    "    val_str = val_str + ' \\\\\\ \\hline'\n",
    "    print(val_str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "High Altitude\n",
      "\\multicolumn{1}{|l|}{Mean} & 0.8 & 4.6 & 8.0 & 9.2 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Variance} & 25.4 & 36.1 & 47.2 & 57.1 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Kurtosis} & 61.2 & 21.2 & 11.7 & 7.2 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Skewness} & 0.8 & 2.5 & 1.6 & 0.9 \\\\ \\hline\n",
      "Low Altitude\n",
      "\\multicolumn{1}{|l|}{Mean} & 43.1 & 42.2 & 1.2 & -21.2 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Variance} & 109.9 & 127.1 & 134.8 & 129.0 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Kurtosis} & 1.4 & 0.6 & 0.8 & 0.4 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Skewness} & 0.9 & 0.0 & -0.3 & -0.5 \\\\ \\hline\n"
     ]
    }
   ],
   "source": [
    "print('High Altitude')\n",
    "\n",
    "for k in [('mean', 'Mean'),('var','Variance'),('kurt','Kurtosis'),('skew','Skewness')]:\n",
    "#     print(k)\n",
    "    val_str = '\\multicolumn{1}{|l|}{%s}' % k[1]\n",
    "    for v in hdg_dct_h.keys():\n",
    "        val_str = val_str + ' & %.1f' % (round(hdg_dct_h[v][k[0]],1))\n",
    "    val_str = val_str + ' \\\\\\ \\hline'\n",
    "    print(val_str)\n",
    "    \n",
    "\n",
    "print('Low Altitude')\n",
    "\n",
    "for k in [('mean', 'Mean'),('var','Variance'),('kurt','Kurtosis'),('skew','Skewness')]:\n",
    "#     print(k)\n",
    "    val_str = '\\multicolumn{1}{|l|}{%s}' % k[1]\n",
    "    for v in hdg_dct_l.keys():\n",
    "        val_str = val_str + ' & %.1f' % (round(hdg_dct_l[v][k[0]],1))\n",
    "    val_str = val_str + ' \\\\\\ \\hline'\n",
    "    print(val_str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "High Altitude\n",
      "\\multicolumn{1}{|l|}{Mean} & -3.5 & -7.1 & -8.1 & -9.2 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Variance} & 12.3 & 16.1 & 18.0 & 20.4 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Kurtosis} & 7.7 & 4.8 & 4.2 & 3.3 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Skewness} & 0.5 & 1.0 & 0.9 & 0.9 \\\\ \\hline\n",
      "Low Altitude\n",
      "\\multicolumn{1}{|l|}{Mean} & 31.0 & 41.8 & -22.8 & -102.7 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Variance} & 71.7 & 135.3 & 159.7 & 170.8 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Kurtosis} & 0.2 & -1.2 & -0.2 & 1.4 \\\\ \\hline\n",
      "\\multicolumn{1}{|l|}{Skewness} & 0.9 & 0.5 & 1.0 & 1.5 \\\\ \\hline\n"
     ]
    }
   ],
   "source": [
    "print('High Altitude')\n",
    "\n",
    "for k in [('mean', 'Mean'),('var','Variance'),('kurt','Kurtosis'),('skew','Skewness')]:\n",
    "#     print(k)\n",
    "    val_str = '\\multicolumn{1}{|l|}{%s}' % k[1]\n",
    "    for v in spd_dct_h.keys():\n",
    "        val_str = val_str + ' & %.1f' % (round(spd_dct_h[v][k[0]],1))\n",
    "    val_str = val_str + ' \\\\\\ \\hline'\n",
    "    print(val_str)\n",
    "    \n",
    "\n",
    "print('Low Altitude')\n",
    "\n",
    "for k in [('mean', 'Mean'),('var','Variance'),('kurt','Kurtosis'),('skew','Skewness')]:\n",
    "#     print(k)\n",
    "    val_str = '\\multicolumn{1}{|l|}{%s}' % k[1]\n",
    "    for v in spd_dct_l.keys():\n",
    "        val_str = val_str + ' & %.1f' % (round(spd_dct_l[v][k[0]],1))\n",
    "    val_str = val_str + ' \\\\\\ \\hline'\n",
    "    print(val_str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.figure(figsize=(20,8))\n",
    "plt.plot(la_times, [hdg_dct[str(la)]['mean'] for la in la_times])\n",
    "plt.plot(la_times, [hdg_dct[str(la)]['var'] for la in la_times])\n",
    "# plt.plot(la_times, [alt_dct[str(la)]['skew'] for la in la_times])\n",
    "# plt.plot(la_times, [alt_dct[str(la)]['kurt'] for la in la_times])\n",
    "plt.legend(prop={'size': 16})\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "box_data = []\n",
    "dct = spd_dct\n",
    "\n",
    "for la in la_times:\n",
    "    box_data.append((la, [i for i in dct[str(la)]['vals'] if ~np.isnan(i)]))\n",
    "    \n",
    "box_data_sort = sorted(box_data, key=lambda tup: tup[0])\n",
    "box_data_2 = [i[1] for i in box_data_sort]\n",
    "\n",
    "x = range(len(box_data_2)+1)\n",
    "\n",
    "plt.figure(figsize=(10,8))\n",
    "plt.boxplot(box_data_2, showfliers=False, patch_artist=True, whis=[5,95], widths = 0.1)\n",
    "plt.xticks(x, ['0','60','300', '600', '900', '1200'])\n",
    "# plt.xticks(rotation=70)\n",
    "# plt.xlabel('Look-ahead time (seconds)')\n",
    "# plt.ylabel('ATE in meters')\n",
    "# plt.title('Evolution of ATE over look-ahead time')\n",
    "# plt.legend(prop={'size': 16})\n",
    "# plt.xlim((0,600))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame()\n",
    "\n",
    "df['spd'] = spd_dct['300']['vals']\n",
    "df['alt'] = alt_dct['300']['vals']\n",
    "df['hdg'] = hdg_dct['300']['vals']\n",
    "\n",
    "spd_std = (df['spd']-np.mean(df['spd']))/np.std(df['spd'])\n",
    "hdg_std = (df['hdg']-np.mean(df['hdg']))/np.std(df['hdg'])\n",
    "alt_std = (df['alt']-np.mean(df['alt']))/np.std(df['alt'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    conn = psql.connect(\"dbname='thesisdata' user='postgres' host='localhost' password='postgres'\")\n",
    "except Exception as e:\n",
    "    print(\"Unable to connect to the database.\")\n",
    "    print(e)\n",
    "\n",
    "max_inserts = 100\n",
    "fetch_batch_size = max_inserts\n",
    "cnt = 0\n",
    "\n",
    "cur_read = conn.cursor(cursor_factory=RealDictCursor)\n",
    "cur_read.execute(\"SELECT * FROM public.projected_flights LIMIT 1000;\")\n",
    "\n",
    "fetch_batch_size = 1000\n",
    "\n",
    "la_times = [5*x for x in range(1,121)]\n",
    "alt_dct_2  = {}\n",
    "spd_dct_2 = {}\n",
    "hdg_dct_2 = {}\n",
    "\n",
    "for la in la_times:\n",
    "    alt_dct_2[str(la)] = []\n",
    "    hdg_dct_2[str(la)] = []\n",
    "    spd_dct_2[str(la)] = []\n",
    "\n",
    "while True:\n",
    "    \n",
    "    batch = cur_read.fetchmany(size=fetch_batch_size)\n",
    "    \n",
    "    if not batch:\n",
    "        break\n",
    "    \n",
    "    for f in batch:\n",
    "        fdf = pd.DataFrame.from_dict(f)\n",
    "        for i,la in enumerate(la_times):\n",
    "            if i==0:\n",
    "                alt_dct_2[str(la)].extend(fdf['alt'][(fdf['time_el'] <= la) & (fdf['time_el'] >= 0)].values - fdf['alt'][0])\n",
    "                spd_dct_2[str(la)].extend(fdf['spd'][(fdf['time_el'] <= la) & (fdf['time_el'] >= 0)].values - fdf['spd'][0])\n",
    "                hdg_dct_2[str(la)].extend(fdf['hdg'][(fdf['time_el'] <= la) & (fdf['time_el'] >= 0)].values - fdf['hdg'][0])\n",
    "            else:\n",
    "                alt_dct_2[str(la)].extend(fdf['alt'][(fdf['time_el'] <= la) & (fdf['time_el'] >= la_times[i-1])].values - fdf['alt'][0])\n",
    "                spd_dct_2[str(la)].extend(fdf['spd'][(fdf['time_el'] <= la) & (fdf['time_el'] >= la_times[i-1])].values - fdf['spd'][0])\n",
    "                hdg_dct_2[str(la)].extend(fdf['hdg'][(fdf['time_el'] <= la) & (fdf['time_el'] >= la_times[i-1])].values - fdf['hdg'][0])\n",
    "\n",
    "cur_read.close()\n",
    "conn.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "acf = []\n",
    "acf_t = []\n",
    "dct = hdg_dct_2\n",
    "for i,la in enumerate(la_times):\n",
    "    \n",
    "    if i > 0:\n",
    "        \n",
    "        x = [v for v in dct[str(la_times[0])] if ~np.isnan(v)]\n",
    "        y = [v for v in dct[str(la)] if ~np.isnan(v)]\n",
    "        print(len(x))\n",
    "        print(len(y))\n",
    "        acf.append(est_cr(x,y))\n",
    "        acf_t.append(la)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = [1,2,3,2,3,2,3,2,3]\n",
    "n = len(x)\n",
    "x = x-np.mean(x)\n",
    "np.correlate(x,x, mode='full')[-n:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def est_acr(x):\n",
    "    \"\"\"\n",
    "    http://stackoverflow.com/q/14297012/190597\n",
    "    http://en.wikipedia.org/wiki/Autocorrelation#Estimation\n",
    "    \"\"\"\n",
    "    n = len(x)\n",
    "    variance = x.var()\n",
    "    x = x-x.mean()\n",
    "    r = np.correlate(x, x, mode = 'full')[-n:]\n",
    "    result = r/(variance*(np.arange(n, 0, -1)))\n",
    "    return r\n",
    "\n",
    "def est_cr(x,y):\n",
    "    \"\"\"\n",
    "    http://stackoverflow.com/q/14297012/190597\n",
    "    http://en.wikipedia.org/wiki/Autocorrelation#Estimation\n",
    "    \"\"\"\n",
    "    n = min(len(x),len(y))\n",
    "    x = x[:n]\n",
    "    y = y[:n]\n",
    "    xstd = np.std(x)\n",
    "    ystd = np.std(y)\n",
    "    x = x-np.mean(x)\n",
    "    y = y-np.mean(y)\n",
    "    r = np.dot(x,y)/(n-1)\n",
    "    result = r/(xstd*ystd)\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "est_acr(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "est_cr([1,2,3,4,5,6],[3,4,3,4,3,4,5,5,5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = [v for v in dct['50'] if ~np.isnan(v)]\n",
    "y = [v for v in dct['60'] if ~np.isnan(v)]\n",
    "print(len(x))\n",
    "print(len(y))\n",
    "acf.append(est_cr(x,y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
